Questões de pesquisa

QP1.1 Qual plataforma é modificada com mais frequência?

QP2.1 A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialista ao longo do tempo?

QP2.2 Dos desenvolvedores generalistas, eles tendem a trabalhar com mais plataformas ao longo do tempo?

QP3.1 Os desenvolvedores de bibliotecas multiplataforma tendem a especializar-se em dispositivos desktop ou mobile ao longo do tempo?

QP4.1 Com quantas plataformas cada desenvolvedor trabalha?

QP4.2 Dos desenvolvedores que trabalham com uma plataforma, como é a distribuição de plataformas?

QP4.3 Dos desenvolvedores que trabalham com mais de uma plataforma, qual a porcentagem de desenvolvedores que trabalham com o código independente e outras plataformas?

QP5.1 Quantas plataformas são modificadas em conjunto em um commit?

QP5.2 Dos commits que modificaram uma plataforma, como é a distribuição de plataformas?

QP5.3 Dos commits que modificaram mais de uma plataforma, qual a porcentagem de commits que modificaram o código independente junto com o código específico de alguma plataforma?

Resultados - Análise quantitativa

Allegro

QP1 - Como é a distribuição de tarefas de manutenção entre o código independente e específico de plataforma?

Especifico -> Soma da quantidade de vezes que o código específico de cada plataforma é modificado.
Independente -> Quantidade de vezes que o codigo independente é modificado sozinho
especifico -> Quantidade de vezes que o codigo especifico de uma ou mais plataformas é modificado
ambos -> Quantidade de vezes que o codigo especifico e independente de uma ou mais plataformas sao modificados em conjunto

QP1.1 Qual plataforma é modificada com mais frequência?.
Contamos a quantidade de vezes que o código específico de cada plataforma é modificado.

QP2 - A equipe de desenvolvimento de bibliotecas multiplataforma é formada majoritariamente por desenvolvedores generalistas ou especialistas em plataformas?

esp -> desenvolvedores que trabalham apenas com uma plataforma.
gen -> desenvolvedores que trabalham com mais de uma plataforma.
NA -> desenvolvedores que tranbalham apenas com o código independente.
tipo n porc_dev
esp 8 34.8
gen 11 47.8
NA 4 17.4
QP2.1 - A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialita em plataformas ao lonto do tempo?

QP3 - Os desenvolvedores de bibliotecas multiplataforma são especialistas em plataformas de um determinado tipo de dispositivo ou trabalham com plataformas de mais de um tipo de dispositivo?

None -> desenvolvedores que tranbalham apenas com o código independente.
Desktop -> desenvolvedores que tranbalham apenas com o código plataformas de dispositivos desktop
Mobile -> desenvolvedores que tranbalham apenas com o código plataformas de dispositivos mobile
Both -> desenvolvedores que tranbalham com o código plataformas de dispositivos mobile e desktop
dispositivo n_todos porc_todos
None 4 17.391304
Desktop 6 26.086956
Mobile 2 8.695652
Both 11 47.826087
QP3.1 - A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialita em dipositivos ao lonto do tempo?

QP4 - Existem relações entre os conjuntos de plataformas que os desenvolvedores suportam?

lhs rhs support confidence lift count
[1] {win} => {independente} 0.4347826 0.9090909 1.306818 10
2 {android} => {independente} 0.3913043 0.8181818 1.176136 9
3 {win,macosx} => {independente} 0.3478261 1.0000000 1.437500 8
4 {macosx,independente} => {win} 0.3478261 0.8888889 1.858586 8
5 {win,independente} => {macosx} 0.3478261 0.8000000 1.533333 8
[6] {android,win} => {independente} 0.3478261 1.0000000 1.437500 8
[7] {android,independente} => {win} 0.3478261 0.8888889 1.858586 8
[8] {win,independente} => {android} 0.3478261 0.8000000 1.672727 8
[9] {iphone} => {win} 0.3043478 1.0000000 2.090909 7
[10] {iphone} => {independente} 0.3043478 1.0000000 1.437500 7
Afinidade (desenvolvedor)
android linux win iphone macosx independente
android 0.0000000 0.5000000 0.5714286 0.3846154 0.4375000 0.5000000
linux 0.5000000 0.0000000 0.3846154 0.4000000 0.2666667 0.2777778
win 0.5714286 0.3846154 0.0000000 0.6363636 0.5333333 0.5882353
iphone 0.3846154 0.4000000 0.6363636 0.0000000 0.4615385 0.4375000
macosx 0.4375000 0.2666667 0.5333333 0.4615385 0.0000000 0.4736842
independente 0.5000000 0.2777778 0.5882353 0.4375000 0.4736842 0.0000000

Crosstable entre as plataformas (count) (desenvolvedor)
independente macosx android win linux iphone
independente 16 9 9 10 5 7
macosx 9 12 7 8 4 6
android 9 7 11 8 6 5
win 10 8 8 11 5 7
linux 5 4 6 5 7 4
iphone 7 6 5 7 4 7
Crosstable entre as plataformas (support) (desenvolvedor)
independente macosx android win linux iphone
independente 0.6956522 0.3913043 0.3913043 0.4347826 0.2173913 0.3043478
macosx 0.3913043 0.5217391 0.3043478 0.3478261 0.1739130 0.2608696
android 0.3913043 0.3043478 0.4782609 0.3478261 0.2608696 0.2173913
win 0.4347826 0.3478261 0.3478261 0.4782609 0.2173913 0.3043478
linux 0.2173913 0.1739130 0.2608696 0.2173913 0.3043478 0.1739130
iphone 0.3043478 0.2608696 0.2173913 0.3043478 0.1739130 0.3043478
QP4.1 - Qual a quantidade de plataformas que os desenvolvedores dão suporte?
Consideramos as plataformas Windows, Linux, macOS, iPhone e Android nesta contagem.

QP4.2 - Dos desenvolvedores que trabalham com uma plataforma, como é a distribuição das plataformas?

QP4.3 - Dos desenvolvedores generalistas, qual a quantidade de plataformas que eles dão suporte?
n_platform n_dev_gen porc_gen
2 2 18.2
3 4 36.4
4 1 9.1
5 4 36.4

QP5 - Existem relações entre os conjuntos de plataformas modificadas em um commit?

Consideramos nesta analise as plataformas suportadas pela biblioteca e o código independente é interpretado como uma plataforma.
lhs rhs support confidence lift count
[1] {Windows,iPhone} => {Independente} 0.0107271 1.0 1.638672 9
2 {Windows,macOS} => {Independente} 0.0107271 1.0 1.638672 9
3 {Android,Windows} => {Independente} 0.0083433 1.0 1.638672 7
4 {Linux,Windows} => {Independente} 0.0059595 1.0 1.638672 5
5 {iPhone,macOS} => {Windows} 0.0047676 1.0 3.831050 4
[6] {iPhone,macOS} => {Independente} 0.0047676 1.0 1.638672 4
[7] {Android,iPhone} => {Windows} 0.0047676 0.8 3.064840 4
[8] {Android,iPhone} => {Independente} 0.0047676 0.8 1.310938 4
[9] {Windows,iPhone,macOS} => {Independente} 0.0047676 1.0 1.638672 4
[10] {iPhone,macOS,Independente} => {Windows} 0.0047676 1.0 3.831050 4
Afinidade (commit)
Android Linux Windows iPhone macOS Independente
Android 0.0000000 0.0192308 0.0233333 0.0370370 0.0197368 0.0362694
Linux 0.0192308 0.0000000 0.0215517 0.0144928 0.0000000 0.0172745
Windows 0.0233333 0.0215517 0.0000000 0.0343511 0.0324910 0.0877976
iPhone 0.0370370 0.0144928 0.0343511 0.0000000 0.0347826 0.0254545
macOS 0.0197368 0.0000000 0.0324910 0.0347826 0.0000000 0.0211640
Independente 0.0362694 0.0172745 0.0877976 0.0254545 0.0211640 0.0000000

Crosstable entre as plataformas (count) (commit)
Independente Windows Android macOS iPhone Linux
Independente 512 59 21 12 14 9
Windows 59 219 7 9 9 5
Android 21 7 88 3 5 2
macOS 12 9 3 67 4 0
iPhone 14 9 5 4 52 1
Linux 9 5 2 0 1 18
Crosstable entre as plataformas (support) (commit)
Independente Windows Android macOS iPhone Linux
Independente 0.6102503 0.0703218 0.0250298 0.0143027 0.0166865 0.0107271
Windows 0.0703218 0.2610250 0.0083433 0.0107271 0.0107271 0.0059595
Android 0.0250298 0.0083433 0.1048868 0.0035757 0.0059595 0.0023838
macOS 0.0143027 0.0107271 0.0035757 0.0798570 0.0047676 0.0000000
iPhone 0.0166865 0.0107271 0.0059595 0.0047676 0.0619785 0.0011919
Linux 0.0107271 0.0059595 0.0023838 0.0000000 0.0011919 0.0214541

QP5.1 - Quantas plataformas são modificadas em conjunto em uma tarefa de manutenção?

Platform Commit %
0 428 51.0
1 387 46.1
2 18 2.1
3 3 0.4
4 3 0.4
QP5.2 - Dos commits que modificaram uma plataforma, como é a distribuição de plataformas?
Distribuição de plataformas dos commits que modificaram apenas o código especifico de uma plataforma
Platform Mod. Total Mod. uma moduma_modtotal modtotal_summodtotal
Android 88 65 73.86364 19.819820
iPhone 52 37 71.15385 11.711712
Linux 18 8 44.44444 4.054054
macOS 67 55 82.08955 15.090090
Windows 219 160 73.05936 49.324324
QP5.3 - Qual a porcentagem de commits que modificaram o código independente junto com algum código específico de plataforma?
Neste calculo de porcentagem consideramos como denominador o número total de commits que modificaram o código específico de alguma

Total de commits: [1] 839

Total de commits que modificaram o código específico de pelo menos uma plataforma (Denominador): [1] 411

Porcentagem: [1] 20.43796

Análise temporal

QP2.1 - A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialista ao longo do tempo?

KPSS Test for Level Stationarity

data: dev_all_time2$porcentage KPSS Level = 0.57916, Truncation lag parameter = 2, p-value = 0.02453

KPSS Test for Trend Stationarity

data: dev_all_time2$porcentage KPSS Trend = 0.53244, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Level Stationarity

data: dev_all_time2$n KPSS Level = 3.0824, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_all_time2$n KPSS Trend = 0.20036, Truncation lag parameter = 2, p-value = 0.01587

QP2.2 - Dos desenvolvedores generalistas, eles tendem a trabalhar com mais plataformas ao longo do tempo?

2

KPSS Test for Level Stationarity

data: dev_gen_med$n KPSS Level = 3.0493, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_med$n KPSS Trend = 0.1982, Truncation lag parameter = 2, p-value = 0.01667

2

KPSS Test for Level Stationarity

data: dev_gen_time2$porcentage KPSS Level = 1.7035, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time2$porcentage KPSS Trend = 0.11619, Truncation lag parameter = 2, p-value = 0.1

3

KPSS Test for Level Stationarity

data: dev_gen_time3$porcentage KPSS Level = 0.95725, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time3$porcentage KPSS Trend = 0.52336, Truncation lag parameter = 2, p-value = 0.01

4

KPSS Test for Level Stationarity

data: dev_gen_time4$porcentage KPSS Level = 2.3086, Truncation lag parameter = 1, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time4$porcentage KPSS Trend = 0.45405, Truncation lag parameter = 1, p-value = 0.01

5

KPSS Test for Level Stationarity

data: dev_gen_time5$porcentage KPSS Level = 1.7187, Truncation lag parameter = 1, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time5$porcentage KPSS Trend = 0.73535, Truncation lag parameter = 1, p-value = 0.01

2

KPSS Test for Level Stationarity

data: dev_gen_time2$n KPSS Level = 0.80724, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time2$n KPSS Trend = 0.13462, Truncation lag parameter = 2, p-value = 0.07108

3

KPSS Test for Level Stationarity

data: dev_gen_time3$n KPSS Level = 0.99926, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time3$n KPSS Trend = 0.5441, Truncation lag parameter = 2, p-value = 0.01

4

KPSS Test for Level Stationarity

data: dev_gen_time4$n KPSS Level = 1.6926, Truncation lag parameter = 1, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time4$n KPSS Trend = 0.40522, Truncation lag parameter = 1, p-value = 0.01

5

KPSS Test for Level Stationarity

data: dev_gen_time5$n KPSS Level = 2.933, Truncation lag parameter = 1, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time5$n KPSS Trend = 0.69726, Truncation lag parameter = 1, p-value = 0.01

QP3.1 - Os desenvolvedores de bibliotecas multiplataforma tendem a especializar-se em dispositivos desktop ou mobile ao longo do tempo?

KPSS Test for Level Stationarity

data: devicetype_time2$porcentage KPSS Level = 0.49784, Truncation lag parameter = 2, p-value = 0.04215

KPSS Test for Trend Stationarity

data: devicetype_time2$porcentage KPSS Trend = 0.46441, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Level Stationarity

data: devicetype_time2$developer KPSS Level = 3.1029, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: devicetype_time2$developer KPSS Trend = 0.28251, Truncation lag parameter = 2, p-value = 0.01

Análise temporal com janela deslizante

Janela de 24 semanas

QP2.1 - A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialista ao longo do tempo?

KPSS Test for Level Stationarity

data: dev_all_time24_2$porcentage KPSS Level = 0.19834, Truncation lag parameter = 2, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_all_time24_2$porcentage KPSS Trend = 0.18002, Truncation lag parameter = 2, p-value = 0.02349

KPSS Test for Level Stationarity

data: dev_all_time24_2$n KPSS Level = 0.87471, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_all_time24_2$n KPSS Trend = 0.14319, Truncation lag parameter = 2, p-value = 0.05521

QP2.2 - Dos desenvolvedores generalistas, eles tendem a trabalhar com mais plataformas ao longo do tempo?

2

KPSS Test for Level Stationarity

data: dev_gen_med24$n KPSS Level = 0.86499, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_med24$n KPSS Trend = 0.1416, Truncation lag parameter = 2, p-value = 0.05815

2

KPSS Test for Level Stationarity

data: dev_gen_time24_2$porcentage KPSS Level = 0.59267, Truncation lag parameter = 1, p-value = 0.0233

KPSS Test for Trend Stationarity

data: dev_gen_time24_2$porcentage KPSS Trend = 0.15491, Truncation lag parameter = 1, p-value = 0.04257

3

KPSS Test for Level Stationarity

data: dev_gen_time24_3$porcentage KPSS Level = 0.14015, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_3$porcentage KPSS Trend = 0.13833, Truncation lag parameter = 1, p-value = 0.06421

4

KPSS Test for Level Stationarity

data: dev_gen_time24_4$porcentage KPSS Level = 0.14803, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_4$porcentage KPSS Trend = 0.068223, Truncation lag parameter = 1, p-value = 0.1

5

KPSS Test for Level Stationarity

data: dev_gen_time24_5$porcentage KPSS Level = 0.32542, Truncation lag parameter = 0, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_5$porcentage KPSS Trend = 0.10324, Truncation lag parameter = 0, p-value = 0.1

2

KPSS Test for Level Stationarity

data: dev_gen_time24_2$n KPSS Level = 0.1367, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_2$n KPSS Trend = 0.062689, Truncation lag parameter = 1, p-value = 0.1

3

KPSS Test for Level Stationarity

data: dev_gen_time24_3$n KPSS Level = 0.95653, Truncation lag parameter = 1, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time24_3$n KPSS Trend = 0.16533, Truncation lag parameter = 1, p-value = 0.03389

4

KPSS Test for Level Stationarity

data: dev_gen_time24_4$n KPSS Level = 0.19587, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_4$n KPSS Trend = 0.12175, Truncation lag parameter = 1, p-value = 0.09491

5

KPSS Test for Level Stationarity

data: dev_gen_time24_5$n KPSS Level = 0.32407, Truncation lag parameter = 0, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_5$n KPSS Trend = 0.12963, Truncation lag parameter = 0, p-value = 0.08032

QP3.1 - Os desenvolvedores de bibliotecas multiplataforma tendem a especializar-se em dispositivos desktop ou mobile ao longo do tempo?

KPSS Test for Level Stationarity

data: devicetype_time24_2$porcentage KPSS Level = 0.86408, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: devicetype_time24_2$porcentage KPSS Trend = 0.068354, Truncation lag parameter = 2, p-value = 0.1

KPSS Test for Level Stationarity

data: devicetype_time24_2$developer KPSS Level = 1.5208, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: devicetype_time24_2$developer KPSS Trend = 0.17869, Truncation lag parameter = 2, p-value = 0.02399

Rastreamento dos desenvolvedores

Selecionamos os desenvolvedores que comitaram nas primeiras 24 semanas do periodo de análise e verificamos o numero de plataformas que eles fizeram trabalharam em cada janela de tempo

As plataformas consideradas foram: win, iphone, linux, macos, e android

Filtrei alguns desenvolvedores com poucos commits pq o plot.ts so aceita matriz de ate 10 colunas

————————————————————————-

SDL

QP1 - Como é a distribuição de tarefas de manutenção entre o código independente e específico de plataforma?

Especifico -> Soma da quantidade de vezes que o código específico de cada plataforma é modificado.
Independente -> Quantidade de vezes que o codigo independente é modificado sozinho
especifico -> Quantidade de vezes que o codigo especifico de uma ou mais plataformas é modificado
ambos -> Quantidade de vezes que o codigo especifico e independente de uma ou mais plataformas sao modificados em conjunto

QP1.1 Qual plataforma é modificada com mais frequência?.
Contamos a quantidade de vezes que o código específico de cada plataforma é modificado.

QP2 - A equipe de desenvolvimento de bibliotecas multiplataforma é formada majoritariamente por desenvolvedores generalistas ou especialistas em plataformas?

esp -> desenvolvedores que trabalham apenas com uma plataforma.
gen -> desenvolvedores que trabalham com mais de uma plataforma.
NA -> desenvolvedores que tranbalham apenas com o código independente.
tipo n porc_dev
esp 39 49.4
gen 20 25.3
NA 20 25.3
QP2.1 - A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialita em plataformas ao lonto do tempo?

QP3 - Os desenvolvedores de bibliotecas multiplataforma são especialistas em plataformas de um determinado tipo de dispositivo ou trabalham com plataformas de mais de um tipo de dispositivo?

None -> desenvolvedores que tranbalham apenas com o código independente.
Desktop -> desenvolvedores que tranbalham apenas com o código plataformas de dispositivos desktop
Mobile -> desenvolvedores que tranbalham apenas com o código plataformas de dispositivos mobile
Both -> desenvolvedores que tranbalham com o código plataformas de dispositivos mobile e desktop
dispositivo n_todos porc_todos
None 20 25.31646
Desktop 39 49.36709
Mobile 9 11.39241
Both 11 13.92405
QP3.1 - A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialita em dipositivos ao lonto do tempo?

QP4 - Existem relações entre os conjuntos de plataformas que os desenvolvedores suportam?

lhs rhs support confidence lift count
[1] {macosx} => {independente} 0.2025316 0.9411765 1.457901 16
2 {linux,win} => {independente} 0.1645570 1.0000000 1.549020 13
3 {win,independente} => {linux} 0.1645570 0.8666667 1.801754 13
4 {android} => {independente} 0.1518987 0.8000000 1.239216 12
5 {win,macosx} => {independente} 0.1518987 1.0000000 1.549020 12
[6] {win,independente} => {macosx} 0.1518987 0.8000000 3.717647 12
[7] {linux,macosx} => {independente} 0.1518987 1.0000000 1.549020 12
[8] {win,macosx} => {linux} 0.1392405 0.9166667 1.905702 11
[9] {linux,macosx} => {win} 0.1392405 0.9166667 3.448413 11
[10] {linux,win} => {macosx} 0.1392405 0.8461538 3.932127 11
Afinidade (desenvolvedor)
android linux win iphone macosx independente
android 0.0000000 0.1521739 0.2000000 0.3000000 0.2307692 0.2222222
linux 0.1521739 0.0000000 0.2826087 0.1395349 0.2790698 0.3088235
win 0.2000000 0.2826087 0.0000000 0.2307692 0.4615385 0.2631579
iphone 0.3000000 0.1395349 0.2307692 0.0000000 0.2727273 0.1923077
macosx 0.2307692 0.2790698 0.4615385 0.2727273 0.0000000 0.3076923
independente 0.2222222 0.3088235 0.2631579 0.1923077 0.3076923 0.0000000

Crosstable entre as plataformas (count) (desenvolvedor)
independente linux win macosx android iphone
independente 51 21 15 16 12 10
linux 21 38 13 12 7 6
win 15 13 21 12 6 6
macosx 16 12 12 17 6 6
android 12 7 6 6 15 6
iphone 10 6 6 6 6 11
Crosstable entre as plataformas (support) (desenvolvedor)
independente linux win macosx android iphone
independente 0.6455696 0.2658228 0.1898734 0.2025316 0.1518987 0.1265823
linux 0.2658228 0.4810127 0.1645570 0.1518987 0.0886076 0.0759494
win 0.1898734 0.1645570 0.2658228 0.1518987 0.0759494 0.0759494
macosx 0.2025316 0.1518987 0.1518987 0.2151899 0.0759494 0.0759494
android 0.1518987 0.0886076 0.0759494 0.0759494 0.1898734 0.0759494
iphone 0.1265823 0.0759494 0.0759494 0.0759494 0.0759494 0.1392405
QP4.1 - Qual a quantidade de plataformas que os desenvolvedores dão suporte?
Consideramos as plataformas Windows, Linux, macOS, iPhone e Android nesta contagem.

QP4.2 - Dos desenvolvedores que trabalham com uma plataforma, como é a distribuição das plataformas?

QP4.3 - Dos desenvolvedores generalistas, qual a quantidade de plataformas que eles dão suporte?
n_platform n_dev_gen porc_gen
2 7 35
3 7 35
4 2 10
5 4 20

QP5 - Existem relações entre os conjuntos de plataformas modificadas em um commit?

Consideramos nesta analise as plataformas suportadas pela biblioteca e o código independente é interpretado como uma plataforma.
lhs rhs support confidence lift count
[1] {Linux,Windows} => {Independente} 0.0185306 0.9193548 1.812779 57
2 {Linux,macOS} => {Independente} 0.0104031 0.9142857 1.802784 32
3 {Windows,macOS} => {Independente} 0.0104031 0.8648649 1.705336 32
4 {Linux,Windows,macOS} => {Independente} 0.0081274 0.9615385 1.895957 25
5 {Android,Windows} => {Independente} 0.0055267 0.9444444 1.862251 17
[6] {Android,Linux} => {Independente} 0.0052016 0.8888889 1.752707 16
[7] {Linux,iPhone} => {Independente} 0.0052016 0.8888889 1.752707 16
[8] {iPhone,macOS} => {Independente} 0.0048765 0.8333333 1.643162 15
[9] {Linux,iPhone} => {Windows} 0.0048765 0.8333333 3.651472 15
[10] {Windows,iPhone} => {Linux} 0.0048765 0.8333333 4.434833 15
Afinidade (commit)
Android Linux Windows iPhone macOS Independente
Android 0.0000000 0.0239044 0.0205245 0.0416667 0.0255319 0.0221574
Linux 0.0239044 0.0000000 0.0509031 0.0234681 0.0420673 0.0589401
Windows 0.0205245 0.0509031 0.0000000 0.0202020 0.0387841 0.0750951
iPhone 0.0416667 0.0234681 0.0202020 0.0000000 0.0376569 0.0237543
macOS 0.0255319 0.0420673 0.0387841 0.0376569 0.0000000 0.0422773
Independente 0.0221574 0.0589401 0.0750951 0.0237543 0.0422773 0.0000000

Crosstable entre as plataformas (count) (commit)
Independente Windows Linux macOS iPhone Android
Independente 1560 158 119 75 41 38
Windows 158 702 62 37 18 18
Linux 119 62 578 35 18 18
macOS 75 37 35 289 18 12
iPhone 41 18 18 18 207 16
Android 38 18 18 12 16 193
Crosstable entre as plataformas (support) (commit)
Independente Windows Linux macOS iPhone Android
Independente 0.5071521 0.0513654 0.0386866 0.0243823 0.0133290 0.0123537
Windows 0.0513654 0.2282185 0.0201560 0.0120286 0.0058518 0.0058518
Linux 0.0386866 0.0201560 0.1879064 0.0113784 0.0058518 0.0058518
macOS 0.0243823 0.0120286 0.0113784 0.0939532 0.0058518 0.0039012
iPhone 0.0133290 0.0058518 0.0058518 0.0058518 0.0672952 0.0052016
Android 0.0123537 0.0058518 0.0058518 0.0039012 0.0052016 0.0627438

QP5.1 - Quantas plataformas são modificadas em conjunto em uma tarefa de manutenção?

Platform Commit %
0 1268 41.2
1 1707 55.5
2 64 2.1
3 22 0.7
4 7 0.2
5 8 0.3
QP5.2 - Dos commits que modificaram uma plataforma, como é a distribuição de plataformas?
Distribuição de plataformas dos commits que modificaram apenas o código especifico de uma plataforma
Platform Mod. Total Mod. uma moduma_modtotal modtotal_summodtotal
Android 193 151 78.23834 9.80193
iPhone 207 158 76.32850 10.51295
Linux 578 451 78.02768 29.35500
macOS 289 205 70.93426 14.67750
Windows 702 533 75.92593 35.65262
QP5.3 - Qual a porcentagem de commits que modificaram o código independente junto com algum código específico de plataforma?
Neste calculo de porcentagem consideramos como denominador o número total de commits que modificaram o código específico de alguma

Total de commits: [1] 3076

Total de commits que modificaram o código específico de pelo menos uma plataforma (Denominador): [1] 1808

Porcentagem: [1] 16.15044

Análise temporal

QP2.1 - A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialista ao longo do tempo?

KPSS Test for Level Stationarity

data: dev_all_time2$porcentage KPSS Level = 2.1141, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_all_time2$porcentage KPSS Trend = 0.11339, Truncation lag parameter = 2, p-value = 0.1

KPSS Test for Level Stationarity

data: dev_all_time2$n KPSS Level = 3.3041, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_all_time2$n KPSS Trend = 0.57471, Truncation lag parameter = 2, p-value = 0.01

QP2.2 - Dos desenvolvedores generalistas, eles tendem a trabalhar com mais plataformas ao longo do tempo?

2

KPSS Test for Level Stationarity

data: dev_gen_med$n KPSS Level = 3.2708, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_med$n KPSS Trend = 0.5689, Truncation lag parameter = 2, p-value = 0.01

2

KPSS Test for Level Stationarity

data: dev_gen_time2$porcentage KPSS Level = 0.75844, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time2$porcentage KPSS Trend = 0.12056, Truncation lag parameter = 2, p-value = 0.09712

3

KPSS Test for Level Stationarity

data: dev_gen_time3$porcentage KPSS Level = 0.97956, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time3$porcentage KPSS Trend = 0.16199, Truncation lag parameter = 2, p-value = 0.03668

4

KPSS Test for Level Stationarity

data: dev_gen_time4$porcentage KPSS Level = 1.1716, Truncation lag parameter = 1, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time4$porcentage KPSS Trend = 0.39502, Truncation lag parameter = 1, p-value = 0.01

5

KPSS Test for Level Stationarity

data: dev_gen_time5$porcentage KPSS Level = 2.4258, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time5$porcentage KPSS Trend = 0.68066, Truncation lag parameter = 2, p-value = 0.01

2

KPSS Test for Level Stationarity

data: dev_gen_time2$n KPSS Level = 2.9533, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time2$n KPSS Trend = 0.18167, Truncation lag parameter = 2, p-value = 0.02287

3

KPSS Test for Level Stationarity

data: dev_gen_time3$n KPSS Level = 2.9741, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time3$n KPSS Trend = 0.30817, Truncation lag parameter = 2, p-value = 0.01

4

KPSS Test for Level Stationarity

data: dev_gen_time4$n KPSS Level = 0.28794, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time4$n KPSS Trend = 0.22217, Truncation lag parameter = 1, p-value = 0.01

5

KPSS Test for Level Stationarity

data: dev_gen_time5$n KPSS Level = 1.9883, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time5$n KPSS Trend = 0.2979, Truncation lag parameter = 2, p-value = 0.01

QP3.1 - Os desenvolvedores de bibliotecas multiplataforma tendem a especializar-se em dispositivos desktop ou mobile ao longo do tempo?

KPSS Test for Level Stationarity

data: devicetype_time2$porcentage KPSS Level = 2.4041, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: devicetype_time2$porcentage KPSS Trend = 0.13057, Truncation lag parameter = 2, p-value = 0.07857

KPSS Test for Level Stationarity

data: devicetype_time2$developer KPSS Level = 3.1951, Truncation lag parameter = 2, p-value = 0.01

KPSS Test for Trend Stationarity

data: devicetype_time2$developer KPSS Trend = 0.64675, Truncation lag parameter = 2, p-value = 0.01

Análise temporal com janela deslizante

Janela de 24 semanas

QP2.1 - A equipe de desenvolvimento de bibliotecas multiplataforma tende a tornar-se mais generalista ou especialista ao longo do tempo?

KPSS Test for Level Stationarity

data: dev_all_time24_2$porcentage KPSS Level = 0.67117, Truncation lag parameter = 2, p-value = 0.01617

KPSS Test for Trend Stationarity

data: dev_all_time24_2$porcentage KPSS Trend = 0.20071, Truncation lag parameter = 2, p-value = 0.01574

KPSS Test for Level Stationarity

data: dev_all_time24_2$n KPSS Level = 0.48472, Truncation lag parameter = 2, p-value = 0.04511

KPSS Test for Trend Stationarity

data: dev_all_time24_2$n KPSS Trend = 0.38505, Truncation lag parameter = 2, p-value = 0.01

QP2.2 - Dos desenvolvedores generalistas, eles tendem a trabalhar com mais plataformas ao longo do tempo?

2

KPSS Test for Level Stationarity

data: dev_gen_med24$n KPSS Level = 0.47982, Truncation lag parameter = 2, p-value = 0.04621

KPSS Test for Trend Stationarity

data: dev_gen_med24$n KPSS Trend = 0.38116, Truncation lag parameter = 2, p-value = 0.01

2

KPSS Test for Level Stationarity

data: dev_gen_time24_2$porcentage KPSS Level = 0.12995, Truncation lag parameter = 2, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_2$porcentage KPSS Trend = 0.12061, Truncation lag parameter = 2, p-value = 0.09702

3

KPSS Test for Level Stationarity

data: dev_gen_time24_3$porcentage KPSS Level = 0.38247, Truncation lag parameter = 1, p-value = 0.08471

KPSS Test for Trend Stationarity

data: dev_gen_time24_3$porcentage KPSS Trend = 0.097636, Truncation lag parameter = 1, p-value = 0.1

4

KPSS Test for Level Stationarity

data: dev_gen_time24_4$porcentage KPSS Level = 0.36959, Truncation lag parameter = 1, p-value = 0.09026

KPSS Test for Trend Stationarity

data: dev_gen_time24_4$porcentage KPSS Trend = 0.34983, Truncation lag parameter = 1, p-value = 0.01

5

KPSS Test for Level Stationarity

data: dev_gen_time24_5$porcentage KPSS Level = 1.1622, Truncation lag parameter = 1, p-value = 0.01

KPSS Test for Trend Stationarity

data: dev_gen_time24_5$porcentage KPSS Trend = 0.45473, Truncation lag parameter = 1, p-value = 0.01

2

KPSS Test for Level Stationarity

data: dev_gen_time24_2$n KPSS Level = 0.32714, Truncation lag parameter = 2, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_2$n KPSS Trend = 0.31659, Truncation lag parameter = 2, p-value = 0.01

3

KPSS Test for Level Stationarity

data: dev_gen_time24_3$n KPSS Level = 0.41301, Truncation lag parameter = 1, p-value = 0.07155

KPSS Test for Trend Stationarity

data: dev_gen_time24_3$n KPSS Trend = 0.18163, Truncation lag parameter = 1, p-value = 0.02289

4

KPSS Test for Level Stationarity

data: dev_gen_time24_4$n KPSS Level = 0.18938, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_4$n KPSS Trend = 0.16608, Truncation lag parameter = 1, p-value = 0.03326

5

KPSS Test for Level Stationarity

data: dev_gen_time24_5$n KPSS Level = 0.20729, Truncation lag parameter = 1, p-value = 0.1

KPSS Test for Trend Stationarity

data: dev_gen_time24_5$n KPSS Trend = 0.17318, Truncation lag parameter = 1, p-value = 0.02735

QP3.1 - Os desenvolvedores de bibliotecas multiplataforma tendem a especializar-se em dispositivos desktop ou mobile ao longo do tempo?

KPSS Test for Level Stationarity

data: devicetype_time24_2$porcentage KPSS Level = 0.53264, Truncation lag parameter = 2, p-value = 0.03431

KPSS Test for Trend Stationarity

data: devicetype_time24_2$porcentage KPSS Trend = 0.19735, Truncation lag parameter = 2, p-value = 0.01699

KPSS Test for Level Stationarity

data: devicetype_time24_2$developer KPSS Level = 0.45506, Truncation lag parameter = 2, p-value = 0.05342

KPSS Test for Trend Stationarity

data: devicetype_time24_2$developer KPSS Trend = 0.18361, Truncation lag parameter = 2, p-value = 0.02215

Rastreamento dos desenvolvedores

Selecionamos os desenvolvedores que comitaram nas primeiras 24 semanas do periodo de análise e verificamos o numero de plataformas que eles fizeram trabalharam em cada janela de tempo

As plataformas consideradas foram: win, iphone, linux, macos, e android

Filtrei alguns desenvolvedores com poucos commits pq o plot.ts so aceita matriz de ate 10 colunas

————————————————————————-